﻿using System;
using System.Data;
using System.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using Anthem;
using BusinessRules;
using Common;
using DataAccess;
using DevExpress.Web.ASPxClasses;
using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxGridView;
using System.Collections.Generic;

public partial class CDPs : PageBase
{
    public string StrCitId
    {
        get
        {
            if (ViewState["StrCitId"] != null)
                return ViewState["StrCitId"].ToString();
            return "";
        }
        set { ViewState["StrCitId"] = value; }
    }

    public string StrCfeId
    {
        get
        {
            if (ViewState["StrCfeId"] != null)
                return ViewState["StrCfeId"].ToString();
            return "";
        }
        set { ViewState["StrCfeId"] = value; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        WccAcciones1.AddEnabledDuringCallBack = false;
        WccAcciones1.AddTextDuringCallBack = "Guardando... Por favor esperar!!!";
        WccAcciones1.UpdateEnabledDuringCallBack= false;
        WccAcciones1.UpdateTextDuringCallBack = "Guardando... Por favor espere!!!";
        traerContextItems();
        BindDatos();

        if (Manager.IsCallBack)
        {
            Manager.RegisterClientScriptBlock(typeof(Page), "reloj", "<script>muestraReloj2();</script>");
        }
        WccAcciones1.Permisos = Permisos;
        if (!IsPostBack)
        {

            if (StrCfeId != "")
            {
              //  cargarCampos();
                WccAcciones1.Accion = Utilidad.Acciones.Actualizar;
                WccAcciones1.AddVisible = false;
                WccAcciones1.UpdateVisible = true;
                WccAcciones1.DeleteVisible = true;
            }
            else
            {
                WccAcciones1.Accion = Utilidad.Acciones.Adicionar;
            }
        }
    }
    #region BindDatos
    private void BindDatos()
    {
        BusinessRules.FinAccionEpe obj = new FinAccionEpe(ConfigurationManager.AppSettings["Conn"]);
        FinAccionEpeData objData = obj.ConsultarCDPsDisponibles();
        if (objData != null && objData.Rows.Count > 0)
        {
            ASPxGridViewCDPs.DataSource = objData.DefaultView;
            ASPxGridViewCDPs.DataBind();
        }
    }
   
    #endregion

    #region - contextItems

    private void traerContextItems()
    {
        
        if (Context.Items["StrCitId"] != null)
            StrCitId = Convert.ToString(Context.Items["StrCitId"]);
        if (Context.Items["StrCfeId"] != null)
            StrCfeId = Convert.ToString(Context.Items["StrCfeId"]);
        

    }

    #endregion

    protected void btnRegresar_Click(object sender, ImageClickEventArgs e)
    {
        crearContextItems();
        Server.Transfer("CDPsListado.aspx?SSM_ID=21", true);
    }

    #region - ContextItems

    private void crearContextItems()
    {
        
        
        Context.Items["StrCitId"] = StrCitId;
    }



    #endregion

    protected void WccAcciones1_Add_OnClick(object sender, ImageClickEventArgs e)
    {
        
        List<object> keyValues = ASPxGridViewCDPs.GetSelectedFieldValues("FAE_ID");
        try
        {
            if (keyValues != null)
            {
                foreach (object key in keyValues)
                {
                    FinAccionEpe obj = new FinAccionEpe(ConfigurationManager.AppSettings["Conn"]);
                    FinAccionEpeData objFinAccionEpeData = obj.ConsultarFinAccionEpFaeId(Convert.ToDecimal(key.ToString()));
                    decimal decValorCDP = 0;
                    if (objFinAccionEpeData != null && objFinAccionEpeData.Rows.Count > 0)
                    {
                        decValorCDP =
                            Convert.ToDecimal(objFinAccionEpeData.Rows[0][FinAccionEpeData.FAE_VALOR_CDP_FIELD]);
                    }
                    obj.ActualizarCDPs(key.ToString(), StrCitId, decValorCDP);
                    
                    lblMensaje.Visible = true;
                    Utilidad.mostrarMensaje(Utilidad.TiposMensajes.Mensaje, Utilidad.TraerMensaje("gmsgExitoGuardar"), lblMensaje);
                    //elimina los items seleccionados y hace nuevamente un bind contra la base de datos
                }
                BindDatos();
                ASPxGridViewCDPs.Selection.UnselectAll();    
            }
            else
            {
                lblMensaje.Visible = true;
                lblMensaje.CssClass = "error";
                lblMensaje.Visible = true;
                lblMensaje.Text = "Debe seleccionar al menos un registro";
            }
            

        }

        catch (Exception ex)
        {
            //throw new ApplicationExceptionManager(Utilidad.TraerMensaje("gmsgErrorInsertar", this.GetType().FullName), ex);
            lblMensaje.Text = ex.Message;
        }
    }
    protected void btnExportar_Click(object sender, EventArgs e)
    {
        ASPxGridViewExporter1.WriteXlsToResponse();
    }
}
